package com.zenith.api.po.dto.user;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.util.Date;

/**
 * 权限DTO
 *
 * @author makejava
 * @since 2025-08-15
 */
@Data
@Schema(name = "PermissionDTO", description = "权限证书DTO")
public class PermissionDTO {

    @Schema(description = "页码")
    private Integer pageNum;

    @Schema(description = "每页数量")
    private Integer pageSize;

    @Schema(description = "权限ID")
    private Long id;
    @Schema(description = "权限名称")
    private String permissionName;
    @Schema(description = "权限描述")
    private String description;
    @Schema(description = "权限路径")
    private String url;
    @Schema(description = "请求方法")
    private String method;
    @Schema(description = "创建时间")
    private Date createTime;
    @Schema(description = "更新时间")
    private Date updateTime;
    @Schema(description = "是否删除（0-未删除，1-已删除）")
    private Integer deleted;
    
    // 手动添加getter方法，确保可以被访问
    public Integer getPageNum() {
        return pageNum;
    }
    
    public Integer getPageSize() {
        return pageSize;
    }
    
    public Long getId() {
        return id;
    }
    
    public String getPermissionName() {
        return permissionName;
    }
    
    public String getDescription() {
        return description;
    }
    
    public String getUrl() {
        return url;
    }
    
    public String getMethod() {
        return method;
    }
    
    public Date getCreateTime() {
        return createTime;
    }
    
    public Date getUpdateTime() {
        return updateTime;
    }
    
    public Integer getDeleted() {
        return deleted;
    }
    
    public void setPageNum(Integer pageNum) {
        this.pageNum = pageNum;
    }
    
    public void setPageSize(Integer pageSize) {
        this.pageSize = pageSize;
    }
    
    public void setId(Long id) {
        this.id = id;
    }
    
    public void setPermissionName(String permissionName) {
        this.permissionName = permissionName;
    }
    
    public void setDescription(String description) {
        this.description = description;
    }
    
    public void setUrl(String url) {
        this.url = url;
    }
    
    public void setMethod(String method) {
        this.method = method;
    }
    
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
    
    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }
    
    public void setDeleted(Integer deleted) {
        this.deleted = deleted;
    }
}